﻿/*********************************************************
 * 开发人员：小兵
 * 创建时间：2012-10-22 9:54:55
 * 描述说明：
 * 
 * 更改历史：
 * 
 * *******************************************************/
namespace Mozlite.Components.Modules
{
    using System;
    using System.Web;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    /// <summary>
    /// 页面内容。
    /// </summary>
    public class Page
    {
        /// <summary>
        /// 页面ID。
        /// </summary>
        public int PageID { get; set; }
        /// <summary>
        /// 用户组。
        /// </summary>
        public RoleLevel RoleLevel { get; set; }
        /// <summary>
        /// 标题。
        /// </summary>
        public string Title { get; set; }
        /// <summary>
        /// 摘要。
        /// </summary>
        public string Summary { get; set; }
        /// <summary>
        /// 内容。
        /// </summary>
        public string Body { get; set; }
        /// <summary>
        /// 唯一键。
        /// </summary>
        public string Key { get; set; }
        /// <summary>
        /// 区域语言。
        /// </summary>
        public string CultureName { get; set; }
        /// <summary>
        /// 图片地址。
        /// </summary>
        public string ImageUrl { get; set; }
        /// <summary>
        /// 分类ID。
        /// </summary>
        public string CategoryID { get; set; }
        /// <summary>
        /// 访问数。
        /// </summary>
        public int Views { get; set; }
        /// <summary>
        /// 获取或设置访问页面的地址。
        /// </summary>
        public string DefaultUrlFormat { get; set; }
        private PageGroup group;
        /// <summary>
        /// 返回页面分组。
        /// </summary>
        public PageGroup Group {
            get {
                if(group == null)
                    group = PageGroups.GetCategory(this.CategoryID, this.CultureName);
                return group;
            }
        }
        private string defaultUrl;
        /// <summary>
        /// 访问详情的默认地址。
        /// </summary>
        public string DefaultUrl {
            get {
                if(defaultUrl == null) {
                    defaultUrl = Group.GetDetailUrl(DefaultUrlFormat, new { key = Key, pageid = PageID });
                }
                return defaultUrl;
            }
        }
    }
}
